package com.yuyou.tas.lesson.mapper;

import com.yuyou.tas.service.api.lesson.dto.LessonClassPlanChapterDTO;

import org.apache.ibatis.annotations.Mapper;

import com.yuyou.tas.service.api.lesson.entity.LessonClassPlanChapter;

import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface LessonClassPlanChapterMapper {
    int deleteByPrimaryKey(Long id);

    int deleteByLessonClassId(Long lessonClassId);

    int insert(LessonClassPlanChapter record);

    LessonClassPlanChapter selectByPrimaryKey(Long id);

    LessonClassPlanChapter selectByClassIdChapterIdTeacherId(@Param(value = "lessonClassId") Long lessonClassId, @Param(value = "lessonChapterId") Long lessonChapterId, @Param(value = "teacherId") Long teacherId);

    LessonClassPlanChapter selectByClassIdChapterId(@Param(value = "lessonClassId") Long lessonClassId, @Param(value = "lessonChapterId") Long lessonChapterId);

    LessonClassPlanChapter selectLesClaPlaCha(
    		@Param(value = "lessonClassId") Long lessonClassId, 
    		@Param(value = "lessonId") Long lessonId,
    		@Param(value = "lessonChapterId") Long lessonChapterId);
    
    int delByClassIdNotIds(
    		@Param(value = "lessonClassId") Long lessonClassId,
    		@Param(value = "ids") List<Long> ids);
    
    
    int updateByPrimaryKeySelective(LessonClassPlanChapter record);

    List<LessonClassPlanChapterDTO> getPlanChapterByClassId(Long classId);

    int setChapterTeacherNull(@Param(value = "lessonClassId") Long lessonClassId, @Param(value = "lessonChapterId") Long lessonChapterId, @Param(value = "teacherId") Long teacherId);
}